CSS keyframes maken
Home

CSS keyframes maken

CSS keyframes maken

Laten we beginnen met enkele elementaire begrippen. CSS3 keyframes zijn krachtige regels waarmee je de CSS-stijlen van een element kan bepalen tijdens een tijdschaal. Je kan opgeven wanneer een verandering zal plaatsvinden in procenten, waar "0%" het begin is van de animatie en "100%" het einde.

Inleiding

De sleutelwoorden from" en to zijn gelijk aan "0%" "en"100% ". Voor compatibiliteitsredenen, geef je beter de waarden op "0" en "100%".

CSS keyframes syntaxis:

/* Percentage */
@keyframes moveTop {
    0%      { top: 0px; }
    100%    { top: 100px; }
}

/* From -> To */
@keyframes moveTop {
    from    { top: 0px; }
    to      { top: 100px; }
}

Als je een keyframe hebt gedeclareerd kan je ze toepassen op elk element met de animation CSS-regel. De animation CSS regel verwacht naast de naam van de keyframe nog enkele andere parameters. Raadpleeg voor een gedetailleerde lijst dede officiële W3C documentatie over CSS3 animations.

CSS animation syntax:

.animated { animation: moveTop 2s 3; }

Deze regel speelt moveTop keyframe drie keer af op een tijdschaal van 2 seconden.

Als we een eenvoudige set van keyframes willen maken, die de achtergrondkleur verandert van blauw naar rood naar groen naar paars en terug naar blauw, moeten we eerst een @keyframes regel ergens in onze stylesheet (het doet er niet toe waar) definiëren:

@keyframes colorchange
{
    /* individual keyframes go here */
}

Ik heb aan de verzameling de naam 'colorchange' gegeven. Je kan om het even welke naam geven maar zorg ervoor dat de naam beschrijvend is zodat u je gemakkelijk kan herkennen wat de set doet.

Vervolgens definiëren we afzonderlijke keyframes op procentpunten tijdens de gehele duur van onze animatie:

@keyframes colorchange
{
    0%   { background-color: #00F; /* from: blue */ }
    25%  { background-color: #F00; /* red        */ }
    50%  { background-color: #0F0; /* green      */ }
    75%  { background-color: #F0F; /* purple     */ }
    100% { background-color: #00F; /* to: blue   */ }
}

Wij hebben alleen de background-color eigenschap gedefinieerd, maar je kan een willekeurig aantal CSS-eigenschappen (ervan uitgaande dat het mogelijk is om ze te animeren hen) bepalen.

0% is het eerste keyframe en 100% is het laatste keyframe. Je hebt minstens twee keyframes nodig.

Als de standaardstatus van het element blauw was, kan je het begin en einde weglaten, bijvoorbeeld:

@keyframes colorchange
{
    25%  { background-color: #F00; /* red        */ }
    50%  { background-color: #0F0; /* green      */ }
    75%  { background-color: #F0F; /* purple     */ }
}

Tenslotte moet het voorlopig nog altijd het hele blok herhalen met een webkit prefix for Chrome, Safari and Opera 15+:

@-webkit-keyframes colorchange
{
    0%   { background-color: #00F; /* from: blue */ }
    25%  { background-color: #F00; /* red        */ }
    50%  { background-color: #0F0; /* green      */ }
    75%  { background-color: #F0F; /* purple     */ }
    100% { background-color: #00F; /* to: blue   */ }
}

De stijlregels met een prefix worden gewoonlijk boven de stijlregel zonder prefix gezet.

Bronnen

JI
2017-05-22 09:41:23